home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-02-23 | 2.1 KB | 124 lines | [TEXT/MMCC] |
- /* Program name: CPerson (body)
- Author : Paul Gee
- Version : 0.1
- Date : 19th February 1993
- Purpose :
- */
-
- #include "NeoTypes.h"
- #include CNeoStreamH
- #include <string.h>
- #include <stdio.h>
- #include "CPerson.h"
-
- CPerson::CPerson(char *aName, NeoID aID)
- {
- strncpy(fName, aName, sizeof(fName) -1);
- setID(aID);
- }
-
- #pragma segment NeoRead
- void CPerson::readObject(CNeoStream *aStream, const NeoTag aTag)
- {
- inherited::readObject(aStream, aTag);
-
- aStream->readString(fName, sizeof(fName));
- }
-
- #pragma segment NeoWrite
- void CPerson::writeObject(CNeoStream *aStream, const NeoTag aTag)
- {
- inherited::writeObject(aStream, aTag);
-
- aStream->writeString(fName, sizeof(fName));
- }
-
- void CPerson::printName(void) const
- {
- printf("Name is %s\n", fName);
- }
-
- CJoker::CJoker(char *aName, NeoID aID)
- : CPerson(aName, aID)
- {
- setJoke("My dogs got no nose?");
- }
-
- CNeoPersist *CJoker::New(void)
- {
- return new CJoker;
- }
-
- NeoID CJoker::getClassID(void) const
- {
- return kJokerID;
- }
-
- long CJoker::getFileLength(void) const
- {
- return kJokerFileLength;
- }
-
- #pragma segment NeoRead
- void CJoker::readObject(CNeoStream *aStream, const NeoTag aTag)
- {
- inherited::readObject(aStream, aTag);
-
- aStream->readString(fJoke, sizeof(fJoke));
- }
-
- #pragma segment NeoWrite
- void CJoker::writeObject(CNeoStream *aStream, const NeoTag aTag)
- {
- inherited::writeObject(aStream, aTag);
-
- aStream->writeString(fJoke, sizeof(fJoke));
- }
-
- void CJoker::skill(void) const
- {
- printf("Tells jokes : %s\n", fJoke);
- }
-
- CClown::CClown(char *aName, NeoID aID)
- : CPerson(aName, aID)
- {
- setPieType("Custard");
- }
-
- CNeoPersist *CClown::New(void)
- {
- return new CClown;
- }
-
- NeoID CClown::getClassID(void) const
- {
- return kClownID;
- }
-
- long CClown::getFileLength(void) const
- {
- return kClownFileLength;
- }
-
- #pragma segment NeoRead
- void CClown::readObject(CNeoStream *aStream, const NeoTag aTag)
- {
- inherited::readObject(aStream, aTag);
-
- aStream->readString(fPieType, sizeof(fPieType));
- }
-
- #pragma segment NeoWrite
- void CClown::writeObject(CNeoStream *aStream, const NeoTag aTag)
- {
- inherited::writeObject(aStream, aTag);
-
- aStream->writeString(fPieType, sizeof(fPieType));
- }
-
- void CClown::skill(void) const
- {
- printf("Throws %s pies\n", fPieType);
- }
-